package com.joyintech.vo;

import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 诊断与配置建议信息 实体类
 *
 * @author tangbiao
 * @date 2025-04-08
 * @change 2025-04-08 by tangbiao for init
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class DwdAstDiagnosisConfigAdvice  {

    /**
     * UUID
     */
    //@ApiModelProperty(value = "UUID")
    //@ExcelProperty(value = "UUID")
    private String diagnosisConfigAdviceId;

    /**
     * 方案ID
     */
    //@ApiModelProperty(value = "方案ID")
    //@ExcelProperty(value = "方案ID")
    private String planId;

    /**
     * 方案类型
     */
    //@ApiModelProperty(value = "方案类型（01持仓，02标准配置，03个人配置")
    //@ExcelProperty(value = "方案类型（01持仓，02标准配置，03个人配置")
    private String planType;

    /**
     * 当前持仓得情况
     */
    //@ApiModelProperty(value = "当前持仓得情况")
    //@ExcelProperty(value = "当前持仓得情况")
    private String currentPositionScore;

    /**
     * 总得分
     */
    //@ApiModelProperty(value = "总得分")
    //@ExcelProperty(value = "总得分")
    private String totalScore;

    /**
     * 流动性得分
     */
    //@ApiModelProperty(value = "流动性得分")
    //@ExcelProperty(value = "流动性得分")
    private String liquidityScore;

    /**
     * 收益性得分
     */
    //@ApiModelProperty(value = "收益性得分")
    //@ExcelProperty(value = "收益性得分")
    private String returnScore;

    /**
     * 风险性得分
     */
    //@ApiModelProperty(value = "风险性得分")
    //@ExcelProperty(value = "风险性得分")
    private String riskScore;

    /**
     * 总得分说明
     */
    //@ApiModelProperty(value = "总得分说明")
    //@ExcelProperty(value = "总得分说明")
    private String totalScoreDesc;

    /**
     * 流动性得分说明
     */
    //@ApiModelProperty(value = "流动性得分说明")
    //@ExcelProperty(value = "流动性得分说明")
    private String liquidityScoreDesc;

    /**
     * 收益性得分说明
     */
    //@ApiModelProperty(value = "收益性得分说明")
    //@ExcelProperty(value = "收益性得分说明")
    private String returnScoreDesc;

    /**
     * 风险性得分说明
     */
    //@ApiModelProperty(value = "风险性得分说明")
    //@ExcelProperty(value = "风险性得分说明")
    private String riskScoreDesc;

    /**
     * 调仓后组合预期收益率
     */
    //@ApiModelProperty(value = "调仓后组合预期收益率")
    //@ExcelProperty(value = "调仓后组合预期收益率")
    private BigDecimal portfolioExpectedReturn;

    /**
     * 调仓后组合预期风险
     */
    //@ApiModelProperty(value = "调仓后组合预期风险")
    //@ExcelProperty(value = "调仓后组合预期风险")
    private BigDecimal portfolioExpectedRisk;

    /**
     * 调仓后组合预期久期
     */
    //@ApiModelProperty(value = "调仓后组合预期久期")
    //@ExcelProperty(value = "调仓后组合预期久期")
    private BigDecimal portfolioExpectedDuration;

    /**
     * 调仓后组合得分
     */
    //@ApiModelProperty(value = "调仓后组合得分")
    //@ExcelProperty(value = "调仓后组合得分")
    private BigDecimal portfolioScore;

    /**
     * 市场配置
     */
    //@ApiModelProperty(value = "市场配置")
    //@ExcelProperty(value = "市场配置")
    private String marketConfig;

    /**
     * 市场配置比例
     */
    //@ApiModelProperty(value = "市场配置比例")
    //@ExcelProperty(value = "市场配置比例")
    private String marketConfigRatio;

    /**
     * 市场观点
     */
    //@ApiModelProperty(value = "市场观点")
    //@ExcelProperty(value = "市场观点")
    private String marketView;

    /**
     * 创建人
     */
    //@ApiModelProperty(value = "创建人")
    //@ExcelProperty(value = "创建人")
    private String createUser;

    /**
     * 创建时间
     */
    //@ApiModelProperty(value = "创建时间")
    //@ExcelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    //@ApiModelProperty(value = "更新人")
    //@ExcelProperty(value = "更新人")
    private String updateUser;

    /**
     * 更新时间
     */
    //@ApiModelProperty(value = "更新时间")
    //@ExcelProperty(value = "更新时间")
    private LocalDateTime updateTime;

    /**
     * 客户确认配置
     */
    //@ApiModelProperty(value = "客户确认配置")
    //@ExcelProperty(value = "客户确认配置")
    private String confirm;

    /**
     * 现金占比
     */
    //@ApiModelProperty(value = "现金占比")
    //@ExcelProperty(value = "现金占比")
    private BigDecimal cashRatio;

    /**
     * 持仓年化收益
     */
    //@ApiModelProperty(value = "年化收益")
    //@ExcelProperty(value = "年化收益")
    private BigDecimal annualReturn;

    /**
     * 最大回撤
     */
    //@ApiModelProperty(value = "最大回撤")
    //@ExcelProperty(value = "最大回撤")
    private BigDecimal maxDrawdown;

    /**
     * 年化波动率
     */
    //@ApiModelProperty(value = "年化波动率")
    //@ExcelProperty(value = "年化波动率")
    private BigDecimal annualVolatility;

    /**
     * 分散度
     */
    //@ApiModelProperty(value = "分散度")
    //@ExcelProperty(value = "分散度")
    private BigDecimal diversificationDegree;

    /**
     * 夏普比例
     */
    //@ApiModelProperty(value = "夏普比例")
    //@ExcelProperty(value = "夏普比例")
    private BigDecimal sharpeRatio;



    /** 当前持仓现金类百分比 */
    //@ApiModelProperty(value = "当前持仓现金类百分比")
    private BigDecimal currentCashMgmtPct ;
    /** 当前持仓固收类百分比 */
    //@ApiModelProperty(value = "当前持仓固收类百分比")
    private BigDecimal currentFixedIncPct ;
    /** 当前保障类百分比 */
    //@ApiModelProperty(value = "当前保障类百分比")
    private BigDecimal currentMixedStratPct ;
    /** 当前持仓权益类百分比 */
    //@ApiModelProperty(value = "当前持仓权益类百分比")
    private BigDecimal currentEqInvPct ;
    /** 预留字段 */
    //@ApiModelProperty(value = "预留字段")
    private BigDecimal currentOtherInvPct ;
    /** 基准配置现金类类百分比 */
    //@ApiModelProperty(value = "基准配置现金类百分比")
    private BigDecimal benchmarkCashMgmtPct ;
    /** 基准配置固收类百分比 */
    //@ApiModelProperty(value = "基准配置固收类百分比")
    private BigDecimal benchmarkFixedIncPct ;
    /** 基准配置保障类百分比 */
    //@ApiModelProperty(value = "基准配置保障类百分比")
    private BigDecimal benchmarkMixedStratPct ;
    /** 基准配置权益类百分比 */
    //@ApiModelProperty(value = "基准配置权益类百分比")
    private BigDecimal benchmarkEqInvPct ;
    /** 预留字段 */
    //@ApiModelProperty(value = "预留字段")
    private BigDecimal benchmarkOtherInvPct ;
    /** 调整后持仓现金类百分比 */
    //@ApiModelProperty(value = "调整后持仓现金类百分比")
    private BigDecimal adjustedCashMgmtPct ;
    /** 调整后持仓固定收益类百分比 */
    //@ApiModelProperty(value = "调整后持仓固收类百分比")
    private BigDecimal adjustedFixedIncPct ;
    /** 调整后持仓混合策略类百分比 */
    //@ApiModelProperty(value = "调整后持仓保障类百分比")
    private BigDecimal adjustedMixedStratPct ;
    /** 调整后持仓权益投资类百分比 */
    //@ApiModelProperty(value = "调整后持仓权益类百分比")
    private BigDecimal adjustedEqInvPct ;
    /** 预留字段 */
    //@ApiModelProperty(value = "预留字段")
    private BigDecimal adjustedOtherInvPct ;

    /** 调整后总得分 */
    //@ApiModelProperty(value = "调整后总得分")
    private String portfolioTotalScore ;
    /** 调整后流动性得分 */
    //@ApiModelProperty(value = "调整后流动性得分")
    private String portfolioLiquidityScore ;
    /** 调整后收益性得分 */
    //@ApiModelProperty(value = "调整后收益性得分")
    private String portfolioReturnScore ;
    /** 调整后风险性得分 */
    //@ApiModelProperty(value = "调整后风险性得分")
    private String portfolioRiskScore ;

}
